package org.ch02.hw.demo09;

/**
 * 类型转换 - 实现数据表字段类型与实体对象类型的转换
 *
 * @author ZJL
 * @date 2025-03-21
 */
public interface TypeConverter {

    /**
     * 判断是否需要把数据库查询到的数据，转换为实体对象映射字段的类型
     *
     * @param fieldType 数据转换的目标类型
     * @return true支持，否则不支持
     */
    boolean supports(Class<?> fieldType);

    /**
     * 执行转换
     *
     * @param fieldType 数据转换的目标类型
     * @param value     转换数据
     * @return 转换结果
     */
    Object apply(Class<?> fieldType, Object value);
}
